package cn.sciento.iam.saas.domain.service;

import javax.annotation.Nonnull;
import cn.sciento.iam.domain.entity.Tenant;

public interface TenantObserver<T> extends Comparable<TenantObserver<T>> {
  default T tenantUpdate(@Nonnull Tenant tenant) {
    return null;
  }
  
  default int compareTo(TenantObserver o) {
    return order() - o.order();
  }
  
  int order();
  
  T tenantCreate(@Nonnull Tenant paramTenant);
}
